#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "gestion_personnel.h"
#include "gestion_malade.h"

char id_cap[14][6];

int indice(char s[]){
	int i;
	for(i=0;i<14;i++){
		if(s[0]==id_cap[i][0] && s[2]==id_cap[i][2]) return i;
	}
	return -1;
}

void suivi(void){
	int h,m,s,id;
	char cap[6];
	int L02[1001],vis[1001],ordre[1001];
	int M[14][1001];
	int a,b,i,j,time;

	id_cap[0]="E01";
	id_cap[1]="C01";
	id_cap[2]="S01";
	id_cap[3]="L01";
	id_cap[4]="L02";
	id_cap[5]="C02";
	id_cap[6]="V01";
	id_cap[7]="I01";
	id_cap[8]="D01";
	id_cap[9]="B01";
	id_cap[10]="M01";
	id_cap[11]="Sout";
	id_cap[12]="Pout";
	id_cap[13]="Ebola";
	
	freopen("events.txt","r",stdin);
	freopen("suivi.txt","w",stdout);

	
	while(fscanf("%d:%d:%d%d%s",&h,&m,&s,&id,cap)!=EOF){
		 i=indice(cap);
		 j=id-1000;
		 vis[i]=1;
		 time=h*3600+m*60+s;
		if(L02[j]!=-1)
		{//cas limite 00:00
			if(time-L02[j] >= 5*60)
			{
				M[4][j]=1;
			}
			L02[j]=-1;
			if(i>=0 && M[i-1][j]==0)
			{ 
				ordre[j]=1;
			}
			M[i][j]=1;
		}
		else//if(L01[j]!=-1)
		{
			if(i==4)
			{
				L02[j]=time; 
			}
			else
			{ 
				M[i][j]=1; 
				if((i>=0 && i<=8) && M[i-1][j]==0)
				{ //ordre capt1->capt2->capt3->capt1 (ne 						detecte pas lerreur)
					ordre[j]=1; 
				}
				if(M[13][j]==1)
				{
					P=rechercher_personnel(id);
					fprintf(suivi.txt;"la personne %s %s de %d est malade\n",P.nom, P.prenom,id);
				//besoin de struct malade et personnel
				supprimer_perso(fichePerso,P);
				ajout_malade(fichePerso,P);
				//ajout malade 
				//mnin njib ena les variabes ???!!!
				}
				//cas deux boucle
			}
		}//if(L01[j]!=-1)
	
	}//while
	for(a=0;a<1001;a++)
	
		{
			if(ordre[a]==1)
			{
			//recherche par id
			fprintf(suivi.txt;"la personne %s %s de %d n'a pas respecter les normes de securité\n",P.nom, P.prenom,id);	
			}
		}
}

